package com.huitong.common.mybatis.enums;

import com.huitong.common.mybatis.encrypt.encryptor.*;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 加密算法类型
 *
 * @author fromdrowning
 * @date 2024/4/11 21:30
 */
@Getter
@AllArgsConstructor
public enum EncryptType {

    /**
     * Base64加密算法
     */
    BASE64(Base64Encryptor.class),

    /**
     * AES加密算法
     */
    AES(AESEncryptor.class),

    /**
     * RSA加密算法
     */
    RSA(RSAEncryptor.class),

    /**
     * SM2加密算法
     */
    SM2(SM2Encryptor.class),

    /**
     * SM4加密算法
     */
    SM4(SM4Encryptor.class);

    /**
     * 加密算法类对象
     */
    private final Class<? extends EncryptorTemplate> clazz;

}
